Jejak pengalaman belajar dan sharing IT saya, semua tertuang disini.
Materi belum tersedia
Materi belum tersedia
Materi belum tersedia
Materi belum tersedia
Materi belum tersedia
Materi belum tersedia
Materi belum tersedia
Materi belum tersedia
Mahasiswa mampu memahami konsep migration pada Laravel, membuat migration menggunakan artisan, memahami struktur file migration, menjalankan migration, serta melakukan rollback migration pada database Laravel.
Dalam pengembangan aplikasi menggunakan Laravel, struktur database sering mengalami perubahan seperti:
Laravel menyediakan fitur:
untuk membantu mengelola struktur database secara terstruktur dan terorganisir.
Migration adalah fitur Laravel yang digunakan untuk:
Migration memungkinkan developer:
tanpa harus menulis SQL manual secara langsung di database.
Migration digunakan untuk:
Migration bekerja seperti:
Setiap perubahan database dicatat dalam file migration.
| Keuntungan | Penjelasan |
|---|---|
| Struktur database terorganisir | Semua perubahan tercatat |
| Mudah rollback | Bisa dikembalikan |
| Kolaborasi tim lebih mudah | Database sinkron |
| Tidak perlu SQL manual | Lebih praktis |
File migration berada pada folder:
database/migrations/
2026_05_12_000000_create_users_table.php
Nama file migration berisi:
Tujuannya:
Laravel Artisan digunakan untuk membuat migration secara otomatis.
Format:
php artisan make:migration nama_migration
php artisan make:migration create_mahasiswa_table
Laravel otomatis membuat file:
database/migrations/2026_05_12_xxxxxx_create_mahasiswa_table.php
Laravel memiliki standar penamaan:
| Penamaan | Fungsi |
|---|---|
| create_table_name_table | Membuat tabel |
| add_column_to_table | Menambah kolom |
| remove_column_from_table | Menghapus kolom |
Command:
php artisan make:migration create_produk_table --create=produk
Command:
php artisan make:migration add_harga_to_produk_table --table=produk
Digunakan untuk:
Contoh file migration:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
}
public function down(): void
{
}
};
Method:
up()
digunakan untuk:
Contoh:
Method:
down()
digunakan untuk:
Contoh:
Contoh:
public function up(): void
{
Schema::create('mahasiswa', function (Blueprint $table) {
$table->id();
$table->string('nama');
$table->string('jurusan');
$table->timestamps();
});
}
| Syntax | Fungsi |
|---|---|
| id() | Primary key |
| string() | VARCHAR |
| timestamps() | created_at & updated_at |
public function down(): void
{
Schema::dropIfExists('mahasiswa');
}
Schema
digunakan untuk:
| Method | Tipe Data |
|---|---|
| string() | VARCHAR |
| text() | TEXT |
| integer() | INTEGER |
| boolean() | BOOLEAN |
| date() | DATE |
Migration dijalankan untuk:
php artisan migrate
Jika berhasil:
Migrated: 2026_05_12_create_mahasiswa_table
Tabel otomatis dibuat pada MySQL.
Laravel otomatis membuat tabel:
migrations
Digunakan untuk:
php artisan migrate --path=database/migrations/nama_file.php
php artisan migrate:fresh
Digunakan untuk:
php artisan migrate --seed
Rollback digunakan untuk:
php artisan migrate:rollback
Digunakan untuk:
php artisan migrate:rollback --step=2
php artisan migrate:reset
Digunakan untuk:
php artisan migrate:refresh
Digunakan untuk:
php artisan migrate:fresh
Digunakan untuk:
| Command | Fungsi |
|---|---|
| rollback | Membatalkan migration terakhir |
| refresh | Rollback lalu migrate ulang |
| fresh | Hapus semua tabel lalu migrate ulang |
Command:
php artisan make:migration create_mahasiswa_table
Isi migration:
Schema::create('mahasiswa', function (Blueprint $table) {
$table->id();
$table->string('nama');
$table->string('jurusan');
$table->timestamps();
});
Command:
php artisan migrate
Command:
php artisan migrate:rollback
Command:
php artisan migrate:refresh
Migration pada Laravel mempermudah pengelolaan struktur database secara terorganisir dan terstruktur. Dengan memahami cara membuat migration, menjalankan migration, serta melakukan rollback, mahasiswa dapat mengelola database aplikasi Laravel dengan lebih profesional dan efisien.